import mods.modularmachinery.RecipePrimer;
import mods.modularmachinery.RecipeBuilder;
import crafttweaker.item.IItemStack;
import crafttweaker.item.IIngredient;
import crafttweaker.liquid.ILiquidStack;
import crafttweaker.oredict.IOreDict;
import crafttweaker.oredict.IOreDictEntry;
import crafttweaker.data.IData;

// Advanced Control Circuit
RecipeBuilder.newBuilder("mek_assemble_circuit1","mek_assembler",20).
addItemInput(<mekanism:enrichedalloy>*4).
addItemInput(<mekanism:controlcircuit>*1).
addEnergyPerTickInput(200).
addItemOutput(<mekanism:controlcircuit:1>*1).
build();

// Elite Control Circuit
RecipeBuilder.newBuilder("mek_assemble_circuit2","mek_assembler",40).
addItemInput(<mekanism:reinforcedalloy>*4).
addItemInput(<mekanism:controlcircuit:1>*1).
addEnergyPerTickInput(300).
addItemOutput(<mekanism:controlcircuit:2>*1).
build();

// Ultimate Control Circuit
RecipeBuilder.newBuilder("mek_assemble_circuit3","mek_assembler",60).
addItemInput(<mekanism:atomicalloy>*4).
addItemInput(<mekanism:controlcircuit:2>*1).
addEnergyPerTickInput(500).
addItemOutput(<mekanism:controlcircuit:3>*1).
build();



// Enrichment Chamber
RecipeBuilder.newBuilder("mek_assemble_machine0","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit>*2).
addItemInput(<minecraft:iron_ingot>*4).
addItemInput(<minecraft:redstone>*4).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock>*1).
build();

// Osmium Compressor
RecipeBuilder.newBuilder("mek_assemble_machine1","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit:1>*2).
addItemInput(<minecraft:bucket>*1).
addItemInput(<mekanism:enrichedalloy>*2).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock:1>*1).
build();

// Combiner
RecipeBuilder.newBuilder("mek_assemble_machine2","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit:2>*2).
addItemInput(<mekanism:reinforcedalloy>*2).
addItemInput(<minecraft:piston>*2).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock:2>*1).
build();

// Crusher
RecipeBuilder.newBuilder("mek_assemble_machine3","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit>*2).
addItemInput(<minecraft:iron_ingot>*4).
addItemInput(<minecraft:piston>*1).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock:3>*1).
build();

// Metallugic Infuser
RecipeBuilder.newBuilder("mek_assemble_machine8","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<minecraft:iron_ingot>*4).
addItemInput(<minecraft:redstone>*4).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock:8>*1).
build();

// Purification Chamber
RecipeBuilder.newBuilder("mek_assemble_machine9","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit:1>*2).
addItemInput(<minecraft:water_bucket>*1).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock:9>*1).
addItemOutput(<mekanism:bucket>*1).
build();

// Energized Smelter
RecipeBuilder.newBuilder("mek_assemble_machine10","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit>*2).
addItemInput(<minecraft:furance>*1).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock:10>*1).
build();

// Electric Pump
RecipeBuilder.newBuilder("mek_assemble_machine12","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit>*2).
addItemInput(<minecraft:bucket>*1).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock:12>*1).
build();

// Personal Chest
RecipeBuilder.newBuilder("mek_assemble_machine13","mek_assembler",100).
addItemInput(<minecraft:chest>*2).
addItemInput(<ore:ingotSteel>*2).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock:13>*1).
build();

// Rotary Condensetrator
RecipeBuilder.newBuilder("mek_assemble_machine2_0","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit>*2).
addItemInput(<mekanism:machineblock2:11>*1).
addItemInput(<mekanism:gastank>*1).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock2>*1).
build();



// Chemical Oxidizer
RecipeBuilder.newBuilder("mek_assemble_machine2_1","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit>*2).
addItemInput(<minecraft:hopper>*1).
addItemInput(<mekanism:gastank>*1).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock2:1>*1).
build();

// Chemical Infuser
RecipeBuilder.newBuilder("mek_assemble_machine2_2","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit:1>*2).
addItemInput(<mekanism:enrichedalloy>*2).
addItemInput(<mekanism:gastank>*3).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock2:2>*1).
build();

// Chemical Injection Chamber
RecipeBuilder.newBuilder("mek_assemble_machine2_3","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit:2>*2).
addItemInput(<mekanism:reinforcedalloy>*2).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock2:3>*1).
build();

// Electrolyic Separator
RecipeBuilder.newBuilder("mek_assemble_machine2_4","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit>*2).
addItemInput(<mekanism:electrolyticcore>*1).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock2:4>*1).
build();

// Precison Sawmill
RecipeBuilder.newBuilder("mek_assemble_machine2_5","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit:1>*2).
addItemInput(<mekanism:enrichedalloy>*4).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock2:5>*1).
build();

// Chemical Dissolution Chamber
RecipeBuilder.newBuilder("mek_assemble_machine2_6","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<controlcircuit:1>*2).
addItemInput(<mekanism:reinforcedalloy>*2).
addItemInput(<mekanism:gastank>*1).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock2:6>*1).
build();

// Chemical Washer
RecipeBuilder.newBuilder("mek_assemble_machine2_7","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<controlcircuit:1>*2).
addItemInput(<mekanism:machineblock2:11>*1).
addItemInput(<mekanism:gastank>*1).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock2:7>*1).
build();

// Chemical Crystallizer
RecipeBuilder.newBuilder("mek_assemble_machine2_8","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit:1>*2).
addItemInput(<mekanism:atomicalloy>*2).
addItemInput(<mekanism:gastank>*1).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock2:8>*1).
build();

// Pressurized Reaction Chamber
RecipeBuilder.newBuilder("mek_assemble_machine2_10","mek_assembler",100).
addItemInput(<mekanism:machineblock>*1).
addItemInput(<mekanism:controlcircuit:2>*2).
addItemInput(<mekanism:gastank>*2).
addItemInput(<mekanism:machineblock2:11>*1).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock2:10>*1).
build();

// Basic Fluid Tank
RecipeBuilder.newBuilder("mek_assemble_machine2_11","mek_assembler",100).
addItemInput(<minecraft:glass>*1).
addItemInput(<minecraft:iron_ingot>*2).
addItemInput(<minecraft:bucket>*10).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock2:11>*1).
build();



// Solar Neutron Activator
RecipeBuilder.newBuilder("mek_assemble_machine3_1","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit:2>*2).
addItemInput(<mekanism:reinforcedalloy>*2).
addItemInput(<mekanismgenerators:solarpanel>*1).
addItemInput(<mekanism:gastank>*2).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock3:1>*1).
build();

// Formulaic Assemblicator
RecipeBuilder.newBuilder("mek_assemble_machine3_5","mek_assembler",100).
addItemInput(<mekanism:basicblock:8>*1).
addItemInput(<mekanism:controlcircuit>*2).
addItemInput(<ore:ingotSteel>*4).
addItemInput(<minecraft:hopper>*1).
addItemInput(<minecraft:crafting_table>*1).
addEnergyPerTickInput(50).
addItemOutput(<mekanism:machineblock3:5>*1).
build();



// Speed Upgrade
RecipeBuilder.newBuilder("mek_assemble_speedupgrade","mek_assembler",60).
addItemInput(<thermalfoundation:material:32>*1).
addItemInput(<mekanism:enrichedalloy>*2).
addItemInput(<mekanism:ingot:3>*2).
addEnergyPerTickInput(100).
addItemOutput(<mekanism:speedupgrade>*1).
build();

// Energy Upgrade
RecipeBuilder.newBuilder("mek_assemble_energyupgrade","mek_assembler",60).
addItemInput(<thermalfoundation:material:32>*1).
addItemInput(<mekanism:enrichedalloy>*2).
addItemInput(<minecraft:redstone>*10).
addEnergyPerTickInput(100).
addItemOutput(<mekanism:energyupgrade>*1).
build();

// Filter Upgrade
RecipeBuilder.newBuilder("mek_assemble_filterupgrade","mek_assembler",60).
addItemInput(<thermalfoundation:material:32>*1).
addItemInput(<mekanism:enrichedalloy>*2).
addItemInput(<minecraft:paper>*5).
addEnergyPerTickInput(100).
addItemOutput(<mekanism:filterupgrade>*1).
build();

// Muffling Upgrade
RecipeBuilder.newBuilder("mek_assemble_mufflingupgrade","mek_assembler",60).
addItemInput(<thermalfoundation:material:32>*1).
addItemInput(<mekanism:enrichedalloy>*2).
addItemInput(<minecraft:wool>*1).
addEnergyPerTickInput(100).
addItemOutput(<mekanism:mufflingupgrade>*1).
build();

// Gas Upgrade
RecipeBuilder.newBuilder("mek_assemble_gasupgrade","mek_assembler",60).
addItemInput(<thermalfoundation:material:32>*1).
addItemInput(<mekanism:enrichedalloy>*2).
addItemInput(<mekanism:polyethene:2>*3).
addEnergyPerTickInput(100).
addItemOutput(<mekanism:gasupgrade>*1).
build();

// Anchor Upgrade
RecipeBuilder.newBuilder("mek_assemble_anchorupgrade","mek_assembler",60).
addItemInput(<thermalfoundation:material:32>*1).
addItemInput(<mekanism:reinforcedalloy>*2).
addItemInput(<mekanism:teleportationcore>*1).
addEnergyPerTickInput(100).
addItemOutput(<mekanism:anchorupgrade>*1).
build();

// Tier Installer
RecipeBuilder.newBuilder("mek_assemble_tier0","mek_assembler",40).
addItemInput(<thermalfoundation:material:32>*1).
addItemInput(<mekanism:controlcircuit>*2).
addItemInput(<minecraft:redstone>*8).
addEnergyPerTickInput(200).
addItemOutput(<mekanism:tierinstaller>*1).
build();

RecipeBuilder.newBuilder("mek_assemble_tier1","mek_assembler",60).
addItemInput(<thermalfoundation:material>*1). // Unknow Tier 2 Plate (Aluminum or Nickel or Tin)
addItemInput(<mekanism:controlcircuit:1>*2).
addItemInput(<mekanism:enrichedalloy>*4).
addEnergyPerTickInput(200).
addItemOutput(<mekanism:tierinstaller:1>*1).
build();

RecipeBuilder.newBuilder("mek_assemble_tier2","mek_assembler",80).
addItemInput(<thermalfoundation:material:352>*1).
addItemInput(<mekanism:controlcircuit:2>*2).
addItemInput(<mekanism:reinforcedalloy>*4).
addEnergyPerTickInput(200).
addItemOutput(<mekanism:tierinstaller:2>*1).
build();

RecipeBuilder.newBuilder("mek_assemble_tier3","mek_assembler",100).
addItemInput(<thermalfoundation:material:354>*1).
addItemInput(<mekanism:controlcircuit:3>*2).
addItemInput(<mekanism:atomicalloy>*4).
addEnergyPerTickInput(500).
addItemOutput(<mekanism:tierinstaller:3>*1).
build();
